/**
 * 
 */
package com.snl.service;

import java.util.List;

import com.snl.model.Advertisement;
import com.snl.model.Party;
import com.snl.model.User;


/**
 * @author Bryan Liu
 *
 */
public interface MainService {
	
	/**
	 * User registration
	 */
	void addUser(User user);

	/**
	 * user login, if user login successfully, return true, otherwise, return false
	 */
	boolean userLogin();
	
	/**
	 * List all the coming parties
	 * @return
	 */
	List<Party> listComingPartys(Integer startRecord);
	
	/**
	 * List all the past parties
	 * @return
	 */
	List<Party> listPastPartys(Integer startRecord);
	
	/**
	 * Get total past event count
	 * @return total count
	 */
	Integer getTotalPastEventCount();
	
	/**
	 * Get total coming event count
	 * @return
	 */
	Integer getTotalComingEventCount();
	
	/**
	 * List all the advertisements
	 * @return
	 */
	List<Advertisement> listAds();
	
	/**
	 * Find the advertisement object by ad id;
	 * @param id
	 * @return
	 */
	public Advertisement getAdvertisement(Integer id);
}
